#ifndef _QUEUE_H_
	#define _QUEUE_H_

#define QUEUEISNULL -1
#define MEMORYMALLOCFALSE -2

typedef char datatype;

typedef struct link_ {
	datatype data;
	struct link_* next;
} link_t;
typedef struct queue_ {
	link_t* head;
	link_t* err;
	int size;
} queue_t;

queue_t* InitQueue();				//初始化一个空队列

int PushQueue(queue_t* queue, datatype data);	//在队列的末尾添加数据

int PopQueue(queue_t* queue, datatype* e);	//弹出队列的头的数据

int Length(queue_t* queue);			//获取队列的长度

void DestroyQueue(queue_t** queue);		//销毁队列

#endif